

function debounce(fn, wait = 1000) {
  let timerId = null; //通过闭包实现时间戳的记录

  function helper() {
    let args = arguments;
    if (timerId) {//判断之前的时间戳
      console.log("timerId", timerId);
      clearTimeout(timerId);
      //清除定时器 这样上一个定时器里面的函数就不会执行了
      timerId = null;
    }
    //重新设置定时器
    timerId = setTimeout(function () {
      fn(args);
    }, wait);
  }
  return helper; //返回这个函数
}
